// pages/share/share.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    qrcodeUrl: '/images/qrcode.jpg',
    backgroundUrl: '/images/background.jpg'


  },

  // 分享好友功能
  shareFriend() {
    wx.showShareMenu({
      withShareTicket: true,
      menus: ['shareAppMessage', 'shareTimeline']
    });
  },

  // 生成分享海报功能
  generatePoster() {
    wx.showLoading({
      title: '生成海报中...',
    });

    // 创建Canvas上下文
    const ctx = wx.createCanvasContext('posterCanvas');

    // 绘制背景图
    const background = this.data.backgroundUrl;
    ctx.drawImage(background, 0, 0, 375, 667);

    // 绘制顶部标题
    ctx.setFillStyle('#e64340');
    ctx.fillRect(100, 20, 175, 40);
    ctx.setFillStyle('white');
    ctx.setFontSize(16);
    ctx.fillText('东犁退休俱乐部', 120, 45);

    // 绘制主标题
    ctx.setFillStyle('white');
    ctx.setFontSize(24);
    ctx.fillText('呼朋唤友一起嗨', 60, 120);

    // 绘制副标题
    ctx.setFillStyle('white');
    ctx.setFontSize(20);
    ctx.fillText('扫码立享', 100, 160);

    // 绘制服务介绍
    ctx.setFillStyle('#ffd700');
    ctx.setFontSize(18);
    ctx.fillText('旅游·酒店·美食·购物', 40, 220);
    ctx.setFillStyle('white');
    ctx.fillText('一站式服务', 110, 250);

    // 绘制二维码
    const qrcode = this.data.qrcodeUrl;
    ctx.drawImage(qrcode, 117, 320, 140, 140);

    // 绘制完成
    ctx.draw(false, () => {
      wx.canvasToTempFilePath({
        canvasId: 'posterCanvas',
        success: (res) => {
          wx.hideLoading();
          // 保存到相册
          wx.saveImageToPhotosAlbum({
            filePath: res.tempFilePath,
            success: (res) => {
              wx.showToast({
                title: '海报已保存到相册',
                icon: 'success'
              });
            },
            fail: (err) => {
              wx.showToast({
                title: '保存失败',
                icon: 'none'
              });
            }
          });
        },
        fail: (err) => {
          wx.hideLoading();
          wx.showToast({
            title: '生成失败',
            icon: 'none'
          });
        }
      });
    });
  },

  // 分享好友按钮事件
  onShareAppMessage() {
    return {
      title: '东犁退休俱乐部-邀请好友',
      path: `/pages/index/index?inviterId=${this.data.userId}`,
      imageUrl: '/images/share-banner.jpg',
      success: (res) => {
        if (res.shareTickets) {
          // 有分享票据，说明成功分享到群聊
          this.setData({
            shareTickets: res.shareTickets
          });
          this.getGroupInfo(res.shareTickets[0]);
        }
      }
    };
  },

  // 获取群聊信息
  getGroupInfo(shareTicket) {
    wx.getShareInfo({
      shareTicket,
      success: (res) => {
        this.setData({
          encryptedData: res.encryptedData,
          iv: res.iv
        });
        // 发送到服务器解密获取群信息
        this.sendToServer(res.encryptedData, res.iv);
      },
      fail: (err) => {
        console.error('获取群信息失败', err);
      }
    });
  },

  // 发送到服务器解密
  sendToServer(encryptedData, iv) {
    wx.request({
      url: 'https://your-server.com/api/decrypt',
      method: 'POST',
      data: {
        encryptedData,
        iv,
        sessionKey: wx.getStorageSync('session_key')
      },
      success: (res) => {
        // 获取解密后的群信息
        this.setData({
          friendInfo: res.data.groupInfo
        });
        wx.showToast({
          title: '成功获取群信息',
          icon: 'success'
        });
      }
    });
  },

  // 用户点击分享卡片进入页面
  onLoad(options) {
    if (options.inviterId) {
      // 记录邀请人ID
      this.setData({
        inviterId: options.inviterId
      });
      // 上报邀请关系
      this.reportInvitation(options.inviterId);
    }
  },

  // 上报邀请关系
  reportInvitation(inviterId) {
    wx.request({
      url: 'https://your-server.com/api/report',
      data: {
        userId: this.data.userId,
        inviterId
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})